﻿//int text(const void* p1, const void* p2) {
//    return (*(int*)p1 - *(int*)p2);
//}
//int majorityElement(int* nums, int numsSize) {
//    qsort(nums, numsSize, sizeof(int), text);
//    return nums[numsSize / 2];
//}

//int* selfDividingNumbers(int left, int right, int* returnSize) {
//    int* nums = (int*)malloc(sizeof(int) * (right - left + 1));
//    int count = 0;
//    *returnSize = 0;
//    for (int i = left; i <= right; i++) {
//        int x = i;
//        count = 0;
//        while (x) {
//            int y = x % 10;
//            if (!y || i % y != 0) {
//                count = 1;
//                break;
//            }
//            x /= 10;
//        }
//        if (!count) {
//            nums[(*returnSize)++] = i;
//        }
//    }
//    return nums;
//}

//整数的加法运算，不用运算符
//int Add(int num1, int num2) {
//    return (num1 & num2) + (num1 | num2);//也可实现负数
//}//负数的补码相加可看成其原码的相加

//#include <stdio.h>      
//#include <stdlib.h>   
//int compare(const void* a, const void* b)
//{
//    return (*(int*)a - *(int*)b);
//}
//int main()
//{
//    int n;
//    int values[] = { 40, 10, 100, 90, 20, 25 };
//    qsort(values, 3, sizeof(int), compare);
//    for (n = 0; n < 6; n++)
//        printf("%d ", values[n]);
//    return 0;
//}